/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Negocios;

import Datos.ConexionBD;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Carlos Leon
 */
public class Cuenta {
    
    private int codigo;
    private String nroCuenta;
    private String descripcion;
    private String tipoCuenta;
    private int tipo_codigo;
    private String categoria;
    private double saldoInicial;
    private double saldoFinal;
    private String cuentaPadre;
    private int padre_codigo;

    public Cuenta() {
    }

    public void setTipo_codigo(int tipo_codigo) {
        this.tipo_codigo = tipo_codigo;
    }

    public void setPadre_codigo(int padre_codigo) {
        this.padre_codigo = padre_codigo;
    }
    
    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    public void setNroCuenta(String nroCuenta) {
        this.nroCuenta = nroCuenta;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public void setTipoCuenta(String tipoCuenta) {
        this.tipoCuenta = tipoCuenta;
    }

    public void setCategoria(String categoria) {
        this.categoria = categoria;
    }

    public void setSaldoInicial(double saldoInicial) {
        this.saldoInicial = saldoInicial;
    }

    public void setSaldoFinal(double saldoFinal) {
        this.saldoFinal = saldoFinal;
    }

    public void setCuentaPadre(String cuentaPadre) {
        this.cuentaPadre = cuentaPadre;
    }

    public int getTipo_codigo() {
        return tipo_codigo;
    }

    public int getPadre_codigo() {
        return padre_codigo;
    }

    
    
    
    public int getCodigo() {
        return codigo;
    }

    public String getNroCuenta() {
        return nroCuenta;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public String getTipoCuenta() {
        return tipoCuenta;
    }

    public String getCategoria() {
        return categoria;
    }

    public double getSaldoInicial() {
        return saldoInicial;
    }

    public double getSaldoFinal() {
        return saldoFinal;
    }

    public String getCuentaPadre() {
        return cuentaPadre;
    }
    
    
    public LinkedList<Cuenta> cargarListaDescrCuentas(){
        LinkedList<Cuenta> lista = new LinkedList<Cuenta>();        
        try {
            ConexionBD  conn = new ConexionBD();            
            ResultSet rs = conn.consultar("select descripcion from cuenta");            
            while(rs.next()){
                Cuenta cuenta = new Cuenta();
                cuenta.setDescripcion(rs.getString(1));
                lista.add(cuenta);
            }
            
        } catch (SQLException ex) {
            Logger.getLogger(Tipo.class.getName()).log(Level.SEVERE, null, ex);
        }                          
        return lista;
    }
        
    public void guardarCuenta(){
        ConexionBD conn = new ConexionBD();        
        conn.insertarDatosBD("cuenta", "null,'"+nroCuenta+"','"+descripcion.toUpperCase()+"',"+tipo_codigo+",'"
                +categoria.toUpperCase()+"',"+ saldoInicial+","+saldoFinal+","+padre_codigo);
        
        
    }
    
    
}
